package com.lihepeng.leecode.array;

import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

/**
 * 杨辉三角 生成
 * 每一行都有当前行数的元素 第一行1个第二行2 个
 */
public class Solution118 {
    public List<List<Integer>> generate(int numRows) {
        List<List<Integer>> result = new ArrayList<>();
        for (int i = 0; i < numRows; ++i) {
            List<Integer> item = new ArrayList<>();
            for (int j = 0; j <= i; j++) {
                // 判断行数
                // 第一个或者最后一个填充1
                if (j == 0 || j == i) {
                    item.add(1);
                } else {
                    item.add(result.get(i - 1).get(j - 1) + result.get(i - 1).get(j));
                }
            }
            result.add(item);
        }
        return result;
    }

    @Test
    public void runTest() {
        List<List<Integer>> generate = generate(3);
        System.out.println(generate);
    }
}
